home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / gnulib / sun4.md / multiply.s < prev    next >
Text File  |  1989-09-24  |  4KB  |  145 lines

  1.  
  2.         .globl  .mul
  3.  
  4. .mul:
  5.             mov    %o0, %y
  6.         andncc    %o0, 0xf, %o4
  7.         be    L_0xe8
  8. L_0xc:      sethi    %hi(0xffff0000), %o5
  9. L_0x10:            andncc    %o0, 0xff, %o4
  10. L_0x14:            be,a    L_0x124
  11. L_0x18:     mulscc    %o4, %o1, %o4
  12. L_0x1c:     andncc    %o0, 0xfff, %o4
  13. L_0x20:     be,a    L_0x16c
  14. L_0x24:     mulscc    %o4, %o1, %o4
  15. L_0x28:     andcc    %o0, %o5, %o4
  16. L_0x2c:     be,a    L_0x1c4
  17. L_0x30:     mulscc    %o4, %o1, %o4
  18. L_0x34:     andcc    %g0, %g0, %o4
  19. L_0x38:     mulscc    %o4, %o1, %o4
  20. L_0x3c:     mulscc    %o4, %o1, %o4
  21. L_0x40:     mulscc    %o4, %o1, %o4
  22. L_0x44:     mulscc    %o4, %o1, %o4
  23. L_0x48:     mulscc    %o4, %o1, %o4
  24. L_0x4c:     mulscc    %o4, %o1, %o4
  25. L_0x50:     mulscc    %o4, %o1, %o4
  26. L_0x54:     mulscc    %o4, %o1, %o4
  27. L_0x58:     mulscc    %o4, %o1, %o4
  28. L_0x5c:     mulscc    %o4, %o1, %o4
  29. L_0x60:     mulscc    %o4, %o1, %o4
  30. L_0x64:     mulscc    %o4, %o1, %o4
  31. L_0x68:     mulscc    %o4, %o1, %o4
  32. L_0x6c:     mulscc    %o4, %o1, %o4
  33. L_0x70:            mulscc    %o4, %o1, %o4
  34. L_0x74:     mulscc    %o4, %o1, %o4
  35. L_0x78:     mulscc    %o4, %o1, %o4
  36. L_0x7c:     mulscc    %o4, %o1, %o4
  37. L_0x80:     mulscc    %o4, %o1, %o4
  38. L_0x84:     mulscc    %o4, %o1, %o4
  39. L_0x88:     mulscc    %o4, %o1, %o4
  40. L_0x8c:     mulscc    %o4, %o1, %o4
  41. L_0x90:     mulscc    %o4, %o1, %o4
  42. L_0x94:     mulscc    %o4, %o1, %o4
  43. L_0x98:     mulscc    %o4, %o1, %o4
  44. L_0x9c:     mulscc    %o4, %o1, %o4
  45. L_0xa0:     mulscc    %o4, %o1, %o4
  46. L_0xa4:     mulscc    %o4, %o1, %o4
  47. L_0xa8:     mulscc    %o4, %o1, %o4
  48. L_0xac:     mulscc    %o4, %o1, %o4
  49. L_0xb0:     mulscc    %o4, %o1, %o4
  50. L_0xb4:     mulscc    %o4, %o1, %o4
  51. L_0xb8:     mulscc    %o4, %g0, %o4
  52. L_0xbc:     orcc    %g0, %o0, %g0
  53. L_0xc0:     rd    %y, %o0
  54. L_0xc4:     bge    L_0xd0
  55. L_0xc8:     orcc    %g0, %o0, %g0
  56. L_0xcc:     sub    %o4, %o1, %o4
  57. L_0xd0:     bge    L_0xe0
  58. L_0xd4:     mov    %o4, %o1
  59. L_0xd8:     jmp    %o7 + 0x8
  60. L_0xdc:     cmp    %o1, -0x1
  61. L_0xe0:     jmp    %o7 + 0x8
  62. L_0xe4:     addcc    %o1, %g0, %g0
  63. L_0xe8:     mulscc    %o4, %o1, %o4
  64. L_0xec:     mulscc    %o4, %o1, %o4
  65. L_0xf0:     mulscc    %o4, %o1, %o4
  66. L_0xf4:     mulscc    %o4, %o1, %o4
  67. L_0xf8:     mulscc    %o4, %g0, %o4
  68. L_0xfc:     rd    %y, %o5
  69. L_0x100:    sll    %o4, 0x4, %o0
  70. L_0x104:    srl    %o5, 0x1c, %o5
  71. L_0x108:    orcc    %o5, %o0, %o0
  72. L_0x10c:    bge    L_0x11c
  73. L_0x110:    sra    %o4, 0x1c, %o1
  74. L_0x114:    jmp    %o7 + 0x8
  75. L_0x118:    cmp    %o1, -0x1
  76. L_0x11c:    jmp    %o7 + 0x8
  77. L_0x120:    addcc    %o1, %g0, %g0
  78. L_0x124:    mulscc    %o4, %o1, %o4
  79. L_0x128:    mulscc    %o4, %o1, %o4
  80. L_0x12c:    mulscc    %o4, %o1, %o4
  81. L_0x130:    mulscc    %o4, %o1, %o4
  82. L_0x134:    mulscc    %o4, %o1, %o4
  83. L_0x138:    mulscc    %o4, %o1, %o4
  84. L_0x13c:    mulscc    %o4, %o1, %o4
  85. L_0x140:    mulscc    %o4, %g0, %o4
  86. L_0x144:    rd    %y, %o5
  87. L_0x148:    sll    %o4, 0x8, %o0
  88. L_0x14c:    srl    %o5, 0x18, %o5
  89. L_0x150:    orcc    %o5, %o0, %o0
  90. L_0x154:    bge    L_0x164
  91. L_0x158:    sra    %o4, 0x18, %o1
  92. L_0x15c:    jmp    %o7 + 0x8
  93. L_0x160:    cmp    %o1, -0x1
  94. L_0x164:    jmp    %o7 + 0x8
  95. L_0x168:    addcc    %o1, %g0, %g0
  96. L_0x16c:    mulscc    %o4, %o1, %o4
  97. L_0x170:    mulscc    %o4, %o1, %o4
  98. L_0x174:    mulscc    %o4, %o1, %o4
  99. L_0x178:    mulscc    %o4, %o1, %o4
  100. L_0x17c:    mulscc    %o4, %o1, %o4
  101. L_0x180:    mulscc    %o4, %o1, %o4
  102. L_0x184:    mulscc    %o4, %o1, %o4
  103. L_0x188:    mulscc    %o4, %o1, %o4
  104. L_0x18c:    mulscc    %o4, %o1, %o4
  105. L_0x190:    mulscc    %o4, %o1, %o4
  106. L_0x194:    mulscc    %o4, %o1, %o4
  107. L_0x198:    mulscc    %o4, %g0, %o4
  108. L_0x19c:    rd    %y, %o5
  109. L_0x1a0:    sll    %o4, 0xc, %o0
  110. L_0x1a4:    srl    %o5, 0x14, %o5
  111. L_0x1a8:    orcc    %o5, %o0, %o0
  112. L_0x1ac:    bge    L_0x1bc
  113. L_0x1b0:    sra    %o4, 0x14, %o1
  114. L_0x1b4:    jmp    %o7 + 0x8
  115. L_0x1b8:    cmp    %o1, -0x1
  116. L_0x1bc:    jmp    %o7 + 0x8
  117. L_0x1c0:    addcc    %o1, %g0, %g0
  118. L_0x1c4:    mulscc    %o4, %o1, %o4
  119. L_0x1c8:    mulscc    %o4, %o1, %o4
  120. L_0x1cc:    mulscc    %o4, %o1, %o4
  121. L_0x1d0:    mulscc    %o4, %o1, %o4
  122. L_0x1d4:    mulscc    %o4, %o1, %o4
  123. L_0x1d8:    mulscc    %o4, %o1, %o4
  124. L_0x1dc:    mulscc    %o4, %o1, %o4
  125. L_0x1e0:    mulscc    %o4, %o1, %o4
  126. L_0x1e4:    mulscc    %o4, %o1, %o4
  127. L_0x1e8:    mulscc    %o4, %o1, %o4
  128. L_0x1ec:    mulscc    %o4, %o1, %o4
  129. L_0x1f0:    mulscc    %o4, %o1, %o4
  130. L_0x1f4:    mulscc    %o4, %o1, %o4
  131. L_0x1f8:    mulscc    %o4, %o1, %o4
  132. L_0x1fc:    mulscc    %o4, %o1, %o4
  133. L_0x200:    mulscc    %o4, %g0, %o4
  134. L_0x204:    rd    %y, %o5
  135. L_0x208:    sll    %o4, 0x10, %o0
  136. L_0x20c:    srl    %o5, 0x10, %o5
  137. L_0x210:    orcc    %o5, %o0, %o0
  138. L_0x214:    bge    L_0x224
  139. L_0x218:    sra    %o4, 0x10, %o1
  140. L_0x21c:    jmp    %o7 + 0x8
  141. L_0x220:    cmp    %o1, -0x1
  142. L_0x224:    jmp    %o7 + 0x8
  143. L_0x228:    addcc    %o1, %g0, %g0
  144.  
  145.